#pragma once
#include<stdio.h>
#include<assert.h>
#include"BinaryTree.h"

typedef struct BinaryTreeNode*  Qdata;

typedef struct QNode
{
	Qdata val;
	struct QNode* next;
}QN;

typedef struct Queue
{
	QN* qhead;
	QN* qtail;
	int size;
}Que;

//初始化
void Queueinit(Que* pq);
//尾插
void Queuepush(Que* pq, Qdata x);
//判空
int QueueEmpty(Que* pq);
//头删
void Queuepop(Que* pq);
//销毁
void Queuedestroy(Que* pq);
//长度
int Queuesize(Que* pq);
//查看头节点
Qdata QueueFront(Que* pq);
//查看尾节点
Qdata QueueBack(Que* pq);